Databases use logging to store operations performed on corresponding data in a synchronous fashion to a log while, at the same time, writing data to a corresponding data area asynchronously. In cases of a crash or other data recovery event, the data area is recovered to a potentially older state. Replaying the log will bring the database to the last committed state. Logged data is typically stored in fixed-size or variable-sized log segments which can be represented as operation system files on a corresponding disk. Each log segment can have associated metadata such as log sequence number of the first and last entries in the segment. The metadata can also include a current state of a log segment such as open, closed, backed-up of free.